Microsoft Interview Puzzles - Part 1